package fr.babos.utils 
{
	import flash.display.Stage;
	import flash.utils.Dictionary;
	
	/**
	 * Permet d'associer des ratios a des stages
	 * @author ZoulouX
	 */
	public class ScreenUtils 
	{
		/**
		 * Les ratios par rapport au stages
		 */
		protected static const __ratiosByStages			:Dictionary 			= new Dictionary(false);
		
		/**
		 * Si un stage a un ratio
		 * @param	pStage
		 * @return
		 */
		public static function stageHasRatio (pStage:Stage):Boolean
		{
			return __ratiosByStages[pStage] != null;
		}
		
		/**
		 * Supprimer le ratio d'un stage	
		 */
		public static function deleteStageRatio (pStage:Stage):void
		{
			delete __ratiosByStages[pStage];
		}
		
		/**
		 * Récupérer le ratio d'affichage d'un stage
		 * @param	pStage : Le stage en question
		 * @return : Le ratio du stage
		 */
		public static function getRatioForStage (pStage:Stage):Number
		{
			if (stageHasRatio(pStage))
				return __ratiosByStages[pStage];
			else
				return 1;
		}
		
		/**
		 * Enregistrer un ratio d'affichage pour un stage
		 * @param	pStage : Le stage sur lequel on applique le ratio
		 * @param	pRatio : Le ratio appliqué au stage
		 */
		public static function setRatioForStage (pStage:Stage, pRatio:Number):void
		{
			__ratiosByStages[pStage] = pRatio;
		}
	}
}